The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
To protect computer systems from malicious attacks that may compromise system security, it is useful to harden computer applications against exploit techniques enabling the unauthorized execution of arbitrary code. Certain classes of exploits rely on the knowledge of code and data layouts to successfully attack an application. Existing approaches to prevent these classes of exploits are only effective to a certain degree.